Skip to content

Improve top-level AWS CLI completions#227

Merged
lucieleblanc merged 2 commits into
mainfrom
app-3499/command-spec-aws
Apr 3, 2026
Merged

Improve top-level AWS CLI completions#227
lucieleblanc merged 2 commits into
mainfrom
app-3499/command-spec-aws

Conversation

@lucieleblanc
Copy link
Copy Markdown
Contributor

Summary

Addresses APP-3499: Improve AWS CLI completions.

The existing aws.json spec had subcommand definitions but lacked global options and generators. This PR adds:

Changes

  1. Global options — All 19 AWS CLI global options from aws help, including --profile, --region, --output, --color, --ca-bundle, --debug, --no-verify-ssl, --no-paginate, --query, --cli-read-timeout, --cli-connect-timeout, --cli-binary-format, --no-cli-pager, --cli-auto-prompt, --no-cli-auto-prompt, --cli-error-format, --no-sign-request, --endpoint-url, and --version. All global options are marked isPersistent so they apply to subcommands.

  2. profiles generator (command-signatures/src/generators/aws.rs) — Dynamically reads profile names from ~/.aws/config and ~/.aws/credentials. Works on both macOS and Linux.

  3. Static suggestions for options with enumerated values:

    • --region: 29 AWS regions
    • --output: json, text, table, yaml, yaml-stream
    • --color: on, off, auto
    • --cli-binary-format: base64, raw-in-base64-out
    • --cli-error-format: legacy, json, yaml, text, table, enhanced
  4. File template for --ca-bundle (filepaths completion).

  5. Cleanup — Removed the unused Fig generateSpec JavaScript field. Added a description field.

Generator Screenshots

aws --profile <Tab> — dynamically lists profiles from ~/.aws/config and ~/.aws/credentials

profile completions

aws --region <Tab> — static list of 29 AWS regions

region completions

aws --output <Tab> — static list of output formats

output completions


Conversation: https://staging.warp.dev/conversation/9651a469-b84f-43ff-b35d-f368e31f239a
Run: https://oz.staging.warp.dev/runs/019d4b02-7acf-7311-83ea-51b3f31ecd39
Plans:

This PR was generated with Oz.

oz-agent added 2 commits April 1, 2026 22:04
- Add all AWS CLI global options (--profile, --region, --output, --color, etc.)
- Add profiles generator that dynamically reads from ~/.aws/config and ~/.aws/credentials
- Add static suggestions for --region (29 AWS regions), --output (5 formats), --color, --cli-binary-format, and --cli-error-format
- Add filepaths template for --ca-bundle
- Remove unused Fig generateSpec JS field

Co-Authored-By: Oz <oz-agent@warp.dev>
Co-Authored-By: Oz <oz-agent@warp.dev>
@linear
Copy link
Copy Markdown

linear Bot commented Apr 1, 2026

APP-3499 Improve AWS completions

aws.json static spec exists (subcommands + flags) but has no Rust generator.

There's two components to this:

  1. Add generators for dynamic AWS CLI completions:
  • --profile values from ~/.aws/config
  • S3 bucket names
  • EC2 instance IDs, etc.
  • … more — see the Fish reference implementation for the full list.
  1. Audit the AWS cli and see if any part of our static spec needs updating

See GitHub #1811, #652

@lucieleblanc
Copy link
Copy Markdown
Contributor Author

lucieleblanc commented Apr 1, 2026

Good initial improvements. Maybe we can do more subcommand/service-specific improvements in a later phase? I want to see if I can automate each subcommand separately.

Created Linear issues for EC2 and S3.

@lucieleblanc lucieleblanc marked this pull request as ready for review April 1, 2026 22:21
@lucieleblanc lucieleblanc changed the title Improve AWS CLI completions Improve top-level AWS CLI completions Apr 3, 2026
@lucieleblanc lucieleblanc merged commit ca9660b into main Apr 3, 2026
3 checks passed
@lucieleblanc lucieleblanc deleted the app-3499/command-spec-aws branch April 3, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants